Python只获取子目录下一级文件夹名称 listdir() os.walk()

您所在的位置:网站首页 python 查看文件夹没文件 Python只获取子目录下一级文件夹名称 listdir() os.walk()

Python只获取子目录下一级文件夹名称 listdir() os.walk()

2024-07-13 22:40| 来源: 网络整理| 查看: 265

目录 一. 项目需求二. 代码实现三. 输出示例四. 拓展知识1、os.walk()的用法2、os.listdir() 的用法 五. 参考链接

一. 项目需求

网上好多方法都是遍历文件和文件夹,而本方法是只获取一级文件夹名称不包含文件。 Python listdir只展示文件夹,使用listdir()提取子目录内容却无法过滤文件,希望结果list仅保留文件夹。

二. 代码实现

调用next()函数,系统自带函数,配合os.walk()

import os path = r'C:\User\123\Desktop' path_list = next(os.walk(path))[1]

如果需要绝对路径,也可以提取(dirpath, dirnames, filenames)拼接,网上有众多方法,此处不再赘述。

三. 输出示例

目录结构:

|--Desktop |--目录1 |--目录1.1 |--文件1.2.pdf |--目录2 |--目录3 |--文件3.1 |--文件4.txt |--文件5.jpg

输出结果:

path_list = ['目录1','目录2','目录3'] 四. 拓展知识 1、os.walk()的用法

定义:

os.walk(top, topdown=True, onerror=None, followlinks=False)

说明:

top:指定遍历目录的地址topdown:默认为真,含义是优先遍历指定的目录地址,否则优先遍历目录下的子目录onerror:指定一个 callable 对象,这个是当发生异常的时候,会调用followlinke:默认为假,含义是不遍历目录下的快捷方式

返回: os.walk()的返回值是一个可遍历的对象,每次遍历返回的是一个三元元组,可用root,dirs,files接收

root:遍历到某目录的地址dirs:list 对象,存储遍历到该目录下的子目录名称files:list 格式,存储遍历到该目录下的文件 2、os.listdir() 的用法

定义:

os.listdir(path)

说明:

path:要打开的文件目录路径

返回: os.listdir的返回值是一个列表,列表里面存储该path下面的子目录的名称

示例: 如果想得到最后的文件,可以通过os.path.join来连接字符串,然后不停的遍历,获取到最后的文件

import os path = r'C:\User\123\Desktop' file_paths = [] for root, dirs, files in os.walk(path): for file in files: file_paths.append(os.path.join(root, file)) print(file_paths) 五. 参考链接 filesystems - How to list only top level directories in Python? - Stack OverflowPython遍历目录下的文件(os.walk 、os.listdir的用法)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3